﻿using System;
using System.Collections.Generic;

namespace Telerik.Sitefinity.Social.Contracts
{
    /// <summary>
    /// Mandates the members that every class wishing to act as a group must implement
    /// </summary>
    [Telerik.OpenAccess.Persistent]
    public interface IGroup
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        Guid Id { get; set; }

        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        string Title { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        string Description { get; set; }

        /// <summary>
        /// Gets the member usernames.
        /// </summary>
        /// <value>The member usernames.</value>
        IList<string> MemberUsernames { get; }
    }
}
